﻿using System.Collections.Generic;

namespace RakutenProxy.AttributeParser
{
    internal interface IProductAttributeParser
    {
        /// <summary>
        /// The main content that the parser will used to get neccessary data
        /// </summary>
        string Content { get; set; }

        /// <summary>
        /// Get dictionary of product attributes
        /// </summary>
        /// <returns></returns>
        AttributeCombination GetProductAttributes();

        /// <summary>
        /// Get the format of form data that will be submit to the ActionUrl. The string contains some keys that will be replaced in the real purchase
        /// </summary>
        /// <returns></returns>
        string GetPurchaseFormDataFormat();

        /// <summary>
        /// Get the allowed quantities of items that a customer can purchase
        /// </summary>
        /// <returns>A comma separated string or null if there's no restriction on quantities</returns>
        string GetAllowedQuantities();

        /// <summary>
        /// Get the url that will be used in the bot for the initial purchase process.
        /// </summary>
        /// <returns></returns>
        string GetPurchaseActionUrl();
    }
}